var getNext = function(num){ //123
  let result = 0;
  while (num) {
    result += (num % 10) * (num % 10); //一个数%10 得到的是最后一位的数字: 123 -> 3
    num = Math.floor(num / 10); // /10 得到的是刨去最后一个数字的数字： 123 -> 12
  }
  return result; // 3^2+2^2+1^2=14
}

//从这道题可以发现 链表并不一定会以你以为的链表的样子出现
var isHappy = function(n/*判断n是不是快乐数*/){
  let pre = n, cur = getNext(n);
  while (cur !== 1){
    pre = getNext(pre);
    cur = getNext(getNext(cur));
    if(cur === pre){
      return false;
    }
  }
  return true;
}
